home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
COMM
/
TERMINAL
/
ARMBTX
/
Hilfsprogs
/
!cfgserial
/
!Help
< prev
next >
Wrap
Text File
|
1996-11-24
|
7KB
|
141 lines
Anleitung zum Programm !cfgserial
---------------------------------
Das Programm !cfgserial konfiguriert den seriellen Port eines Acorn-Rechners
automatisch. Es beschrängt sich dabei auf die Einstellung der reinen
Schnittstellenparameter, wie Geschwindigkeit und Handshaking Protokoll.
Natürlich sind die Möglichkeiten des Programms nicht unbegrenzt. Aus
historischen Gründen gibt es kein Protokoll, mit dem sich definitiv erkennen
läßt, was für ein Gerät mit welcher Geschwindigkeit gerade angeschlossen
ist. Im Laufe der Zeit haben sich jedoch gerade bei Modems eine Reihe von
Quasi-Standards herauskristallisiert.
!cfgserial ist in BBC-BASIC V geschrieben, damit der Code vom Benutzer
ergänzt werden kann, wenn er einmal ein Gerät hat, was nicht von !cfgserial
erkannt wird.
Prinzipiell lassen sich nur alle Möglichkeiten der Schnittstellenbelegung
automatisch durchtesten, wobei der Rechner jedesmal nach einer Antwort auf
dem seriellen Port suchen muß. Dies kann sehr lange dauern, da die
Geschwindigkeiten der angeschlossenen Geräte z.T. sehr begrenzt sind. Um
dies zu vermeiden, merkt sich der Rechner jedesmal die zuletzt gefundene
Konfiguration und probiert sie beim Programmaufruf als erstes aus. Findet
die erwartete Antwort, ist die Einstellung noch in Ordnung und das Pro-
gramm bricht ab.
ACHTUNG: Sind die Steuersequenzen in !cfgserial nicht eindeutig genug
gewählt, um eine eindeutige Antwort zu erzeugen, so kann es passieren, daß
die Möglichkeiten ähnlicher Geräte (z.B. Modems mit höherer Baudzahl) nicht
eindeutig erkannt werden, weil die alten Werte ja noch funktionieren. In
diesem Fall ist das Gerät auszuschalten und !cfgserial erneut zu starten.
Der Test läuft dann ins Leere.
Wird das erwartete Ergebniss nicht gefunden, so wird in die Konfiguration
geschaltet. Zuerst erscheint dabei eine Abfrage für den Benutzer, ob die
Konfiguration nun auch wirk- lich automatisch durchgeführt werden soll. Es
kann dabei die Nummer eines Gerätes angegeben werden, bei dem mit dem Testen
begonnen werden soll. ACHTUNG: Geräte mit einer kleineren Nummer werden
nicht durchprobiert! Das eigene Gerät muß für die Konfiguration nicht
zwangs- läufig in der Liste stehen, bei den angegebenen Geräten handelt es
sich meist um Muster, die einen großen Bereich abdecken. Will man ganz
sicher gehen, muß man mit dem ersten Gerät beginnen und in einer Stunde mal
wieder nach dem rechten sehen.
Die ermittelten Ergebnisse legt !cfgserial übrigens in der Datei "config" im
<cfgserial$Dir>- Verzeichniss ab. Es handelt sich dabei um eine
Commando-Datei, die mit shift-doppel-click in jedem Texteditor begutachtet
werden kann.
Das Programm läuft übrigens im Multitasking-Betrieb. Ein Fenster wird erst
geöffnet, wenn die aktuelle Konfiguration nicht mehr stimmt. Da die
Ansteuerung des seriellen Ports beim Acorn nicht einfach ist, und man
ständig auf die Pufferverwaltung des Betriebssystems zurückgreifen muß, kann
es zwischen verschiedenen Programmen, die alle ihr eigenes Port-Handling
besitzen, zu gewaltigen Problemen kommen. !cfgserial benutzt nur die
RiscOs-Routinen zum Abfragen, ob noch Zeichen in den Puffer sind. Ansonsten
läuft alles über die Datei "serial:".
Kleine Schwächen
----------------
!!!!!! WARNUNG !!!!!!
Einige Modems, wie z.B. Fury 19.2 von Dr. Neuhaus etc. halten ihre
Programmierung netterweise in EEPROMs. Was einerseits den Vorteil bietet,
jederzeit ein Software Upgrade der Firmware durchführen zu können, hat
andererseits den fatalen Nachteil, daß der Inhalt der EEPROMs durch eine
zufällige unkontrollierte Sequenz zerstört werden kann. Das Modem läuft dann
nicht mehr. Im schlimmsten Fall wird sogar die Download-Routine massakriert
und das Gerät ist reif für den Service ... Acorn-Besitzer ohne PC-Karte
dürften sowieso ein kleines Problem mit solchen Downloads haben, die z.T.
leider zwingend notwendig sind, da z.B. oben genanntes Gerät sich in einer
frühen Version nicht mit einem Fury 14.4 aus gleichem Hause betreiben
lies...
Was hat dies nun alles mit !cfgserial zu tun? Beim Durchtesten der einzelnen
Codes und Baudraten treten völlig willkürliche Sequenzen auf dem Bus auf.
Ich übernehme ausdrücklich keine Garantie dafür, daß keine solche
Killersequenz auftritt und das Modem anschließend ein Servicefall ist. Auch
für den Fall, daß ein Modem nicht mit 115000 Baud zurecht kommt und mit
starker Geruchsentwicklung regiert, weil ein Hersteller wieder einmal
billige ICs verwendet hat, fühle ich mich ausdrücklich nicht zuständig.
Die Chance, daß ihr Gerät durch !cfgserial irgendetwas abbekommt, ist jedoch
mehr theoretischer Natur. Ich habe das Programm auch mit älteren Geräten,
darunter einem aus dem Jahre 1974 ohne Probleme getestet.
Einige Geräte (vornehmlich Modems) sind intelligent und stellen sich auf das
Format des Acorn (teilweise) ein. Um auch harte Fälle richtig zu
konfigurieren, steht no parity, 2 stopbits aber vor 1 stopbit und paritys.
Leider stellen sich die Modems dann auch auf diesen Eintrag ein, obwohl 1
stopbit 10% mehr Performance und parity mit stopbit eine höhere Sicherheit
bringen würde. Man kann in solchen Fällen in die Datenformats-Definition
schauen und den besseren Wert händisch in der Datei <cfgserial$Dir>.config
bei der Variable "cfgserial$dformat" ändern. !cfgserial muß allerdings
nocheinmal gestartet werden, um die Änderungen einzuschalten.
Die Sequenz des MAI wird von einem Modem geechot und ein Wechsel von MAI auf
Modem nicht erkannt. Aber wer hat noch ein Terminal aus dem Jahre 1974 ...
Das RTS/CTS-Handshaking ist ein unerschöpfliches Thema. Einige Geräte
stellen eine Zeitspanne zur Verfügung in der CTS=RTS wird. Ist diese 0 gibt
es mit !cfgserial keine Probleme, jedes rechnerinterne Handshaking wird
jedoch effizient abgewürgt, da der Rechner dann keine Daten mehr senden
dürfte, und evt. eine Blockbestätigung nicht mehr durchkommt. Wählt man die
Zeitspanne zu lange, fällt ein illustres Verhalten von !cfgserial auf:
Der Port wird korrekt konfiguriert, aber das Setzen des Ports wird als
verkehrt erkannt und eine Neukonfiguration eingeleitet...
Es läuft nicht
--------------
1. Gerät eingeschaltet? --> einschalten und nochmal
2. Kein passendes Schema in der Gerätetabelle --> Pech. Handbuch studieren.
Gerätetabelle pflegen
3. Kabel falsch verdrahtet --> Nullmodem zwischenschalten
4. Manche Geräte (vorzugsweise Modems) sind konfigurierbar.
Es kann sein, daß das Gerät deshalb völlig andere Steuersequenzen
erwartet, als in diesem Programm abgelegt sind.
5. "serial:"-kann nicht geöffnet werden --> <Ctrl>F12 shut
Historie
--------
V 0.?? - interne Prereleases
V 1.0 - erste offizielle Version
V 1.01 - Leichte Hilfeergänzungen. Ausserdem wurde Baud in bps geändert
Copyright
---------
(c) 1996 by Milius Software Stade
Das Programm ist Public Domain und darf kostenlos kopiert bzw. angewendet
werden.
Der Code darf abgeändert bzw. ergänzt werden, sofern die Änderungen vermerkt
werden und das Programm seinen Public-Domain Status behält. Natürlich darf
das Programm auch mit kommerziellen Paketen vertrieben werden, wobei es
grundsätzlich erlaubt sein muß, das Programm aus diesem Paket heraus zu
lösen und es alleine weiter zu kopieren.
Die Änderungen sollten im Programm dokumentiert werden.
Für die korrekte Funktion des Programms wird keine Haftung übernommen. Die
Anwendung des Programms erfolgt auf eigene Gefahr.